The use of virtual base classes can introduce a number of undefined and potentially confusing behaviours. The use of virtual bases is not
recommended.
Noncompliant code example
class B {};
class D: public virtual B {}; // Noncompliant, B is a virtual base